﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Navigant.Infrastructure.DomainBase;
using Navigant.Infrastructure.ClientPortals;

namespace Navigant.Infrastructure.Cases
{
    public interface ICase : IEntity
    {
        Guid Id { get; }
        Guid ClientPortalId { get; }
        IClientPortal ClientPortal { get; }
        string Name { get; }
        Uri SiteAddress { get; }
        ReadOnlyCollection<HtmlImageData> Images { get; }
        IList<CaseSetting> Settings { get; }
        IDictionary<string, string> ConfigurationSettings { get; }
        string RemindersFromAddress { get; }
        int GetReminderSetting(string name, bool isInternal,
            bool isUnacknowledged, int defaultValue);
        void SetReminderSetting(string name, int numberValue,
            bool isInternal, bool isUnacknowledged);
    }
}
